package com.pan.service;

import com.pan.entity.Coupon;
import com.pan.entity.Result;
import com.pan.vo.CouponCreateVo;
import com.pan.vo.CouponShowVo;
import org.springframework.transaction.annotation.Transactional;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public interface CouponService {
    @Transactional
    Result insert(String adminTicket, CouponCreateVo couponCreateVo);

    Result<List<Coupon>> select();

    Result<CouponShowVo> selectShowVoById(Long id);

    Result<List<Coupon>> selectByCategoryIdOrGoodsId(Long id, String type)
            throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, ClassNotFoundException;

    Result<List<Coupon>> selectByNoStart(String adminTicket);
}
